from pydub import AudioSegment
from pydub.silence import split_on_silence


titles = [
"乒乓球高手",
"处处被坑的旅游",
"温暖的空调师傅",
"人工智能大乱斗",
"不靠谱的防暑招数",
"菜鸟的逆袭",
"别样的“武术”",
"校园食堂高手",
"减肥大作战",
"懒惰的代价",
"暑假的计划",
"家访的危机",
"坑人的旅行",
"难赚的零花钱",
"难以完成的暑假作业",
"特别的能力",
"顶级的逆转",
"奇怪的电影院",
"特别的同学",
"真正的“炫耀”",
"蚊子大作战",
"幸运的猫咪",
"抠门的老板",
"夏令营特训记",
"菜鸟升职记",
"各显神通的同学们",
"吃席的高手",
"武林中的高手",
"省钱大作战",
"捣蛋鬼现形记",
"作业大作战",
"天大的误会",
"万能行李箱",
"奇葩的室友",
"过分的保护",
"花钱买教训",
"得不到的签名",
"抠门的同桌",
"如此的反差",
"老师体验卡",
"天选打工人",
"奇葩的宿舍",
"美食的诱惑",
"学长的锦囊妙计",
"百变的招数",
"神奇的招式",
"技多不压身",
"意外的好运",
"猫狗争宠记",
"千里寻亲路",
"不孤单的中秋节",
"焕然一新的家乡",
"奇葩的舍友",
"一时的贪心",
"十年的学长",
"牙里藏了一个家",
"跟风的代价",
"假期综合征",
"跳高的能手",
"不一样的同桌",
"失败的原因",
"父亲的考验",
"临时抱佛脚",
"卖瓜的诀窍",
"坏心办好事",
"偷懒的后果",
"一生要强的爸爸",
"超强霸王龙",
"完美的同桌",
"家访奇遇记",
"家访奇遇记",
"变化莫测的天气",
"荒岛历险记",
"满分的风波",
"难开的宿舍门",
"最强白蹭之王",
"想逃的麻烦",
"父母双标的爱",
"显眼包同桌",
"双十一后遗症",
"拿不回的漫画书",
"惹不起的路人",
"舍不得丢的旧物",
"错过的好事",
"手机里的秘密",
"焦虑之神操作",
"校服受难记",
"老爸的拿手绝招",
"赖床的后果",
"填不满的巨坑",
"嚣张的同事",
"全能的家长",
"天大的误会",
"爸爸带娃记",
"杀熟的朋友",
"特别的简历",
"女大十八变",
"甩锅的最高境界",
"别样的辅导",
"抽背的烦恼",
"丢失的玩具",
"丢失的玩具",
"预判之神",
"减肥的妙计",
"别有用处的静电",
"无孔不入的冷风",
"友谊的较量",
"爷爷的童心",
"难走的上学路",
"爷爷的关爱",
"隐藏的身份",
"空手套白狼",
"香菜“杀手”",
"心酸赚钱路",
"虚构的朋友",
"离谱的新年愿望",
"让座的风波",
"找钱大作战",
"好心的室友",
"热情的款待",
"烦人的同桌",
"省钱的代价",
"被叫家长的原因",
"反常的儿子",
"冬天的铁栏杆",
"提前回了家",
"艰辛退货路",
"离谱的数学答案",
"内卷之王",
"查寝的危机",
"回家的方式",
"回家的奇葩方法",
"不会滑雪菜鸟",
"藏不住的手机",
"全能的宠物狗",
"密室中的奇遇",
"严格的值日同学",
"最佳“晕车药”",
"过年带娃记",
"别样的年夜饭",
"万能的大学生",
"离谱的会员游客",
"赶不上的火车",
"对付亲戚的绝招",
"奇葩外卖员",
"贪小便宜的代价",
"无敌学人精",
"别样的除夕",
"黑心老板的惩罚",
"宿舍三十六变",
"艰难的取暖",
"室友的坏习惯",
"复习的烦恼",
"抠门的同学",
"装修的烦恼",
"假期综合征",
"寒假最后一天",
"回南天的苦恼",
"惹不起的员工",
"防不住的春敏",
"老师的突击检查",
"离谱的特产",
"别人家的孩子",
"难得的聚会",
"职场老油条",
"爱讲话的同桌",
"甩不掉的家务",
"严厉的老妈",
"意外的满分",
"竞选当班长",
"被忽悠的面试者",
"三个人的友情",
"翻车的老油条",
"食金之神",
"打小报告的同学",
"最强管理员",
"霸道的学生",
"新手老师",
"如此养生",
"过分好学",
"杂物的奇葩用处",
"乐观之神",
"学渣同桌",
"隐藏的潜力",
"妈妈的爱",
"假如app拟人化",
"雨天拟人化",
"望父成龙",
"没有手机的一天",
"农村的内卷",
"神仙房东",
"吵不起来的架",
"当家的一天",
"“艰苦”上学路",
"校园无间道",
"一票难求",
"幕后“黑”手",
"交友背调",
"家庭地位",
"被AI代替的员工",
"无计划旅游",
"节俭的旅游",
"惹人爱的萌宠"
]
def split_audio_on_silence(audio_path, output_folder, silence_thresh=-50, min_silence_len=200):
    # 加载音频文件
    audio = AudioSegment.from_file(audio_path)

    # 通过静音部分拆分音频
    chunks = split_on_silence(audio,
                              min_silence_len=min_silence_len,
                              silence_thresh=silence_thresh)

    # 保存拆分后的音频片段
    for i, chunk in enumerate(chunks):
        print(titles[i])
        chunk.export(f"mate/title_music/{i}_{titles[i]}.wav", format="wav")

    print(f"音频已拆分为 {len(chunks)} 个片段，并保存在 {output_folder} 文件夹中。")


# 使用示例
audio_path = "mate/title_music/all.mp3"
output_folder = "output_chunks"
split_audio_on_silence(audio_path, output_folder)